/*
 * Copyright 2007 David R Kirkland 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");  
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 */

using System;
using System.Collections.Generic;
using System.Text;

namespace NetSpider.Retrieval.Policies.SiteVisits
{
    public class VisitManager : IVisitManager
    {
        public FetchAction RegisterIntentToVisit(string uri)
        {
            throw new NotImplementedException();
        }

        public void NotifyVisitComplete(string uri)
        {
            throw new NotImplementedException();
        }

        public DateTime GetLastTimeUriVisited(string uri)
        {
            throw new NotImplementedException();
        }

        public DateTime GetLastTimeSiteVisited(string uri)
        {
            throw new NotImplementedException();
        }
    }

    internal class SiteVisitCollection : List<SiteVisit>
    {
        public SiteVisitCollection(int keepDataForMinutes)
        {

        }
    }

    public struct SiteVisit
    {
        public DateTime VisitBegan;
        public string URI;
        public bool VisitComplete;
        public DateTime VisitEnded;
        
        public TimeSpan TimeTaken
        {
            get { return VisitEnded - VisitBegan; }
        }

        public SiteVisit(DateTime visitBegan, string uri)
        {
            VisitBegan = visitBegan;
            URI = uri;
            VisitComplete = false;
            VisitEnded = DateTime.MinValue;
        }
    }
}
